home *** CD-ROM | disk | FTP | other *** search
- From: Mike Brennan <brennan@boeing.com>
- Subject: v02i030: mawk - (Ver. 1.1) An interpreter for the AWK language, Patch02c/4
- Newsgroups: comp.sources.reviewed
- Approved: csr@calvin.dgbt.doc.ca
-
- Submitted-by: Mike Brennan <brennan@boeing.com>
- Posting-number: Volume 2, Issue 30
- Archive-name: mawk/patch02c
- Patch-To: mawk: Volume 1, Issue 50-68
-
- #!/bin/sh
- # this is part.03 (part 3 of a multipart archive)
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file Xparse.c continued
- #
- if test ! -r _shar_seq_.tmp; then
- echo 'Please unpack part 1 first!'
- exit 1
- fi
- (read Scheck
- if test "$Scheck" != 3; then
- echo Please unpack part "$Scheck" next!
- exit 1
- else
- exit 0
- fi
- ) < _shar_seq_.tmp || exit 1
- if test ! -f _shar_wnt_.tmp; then
- echo 'x - still skipping Xparse.c'
- else
- echo 'x - continuing file Xparse.c'
- sed 's/^X//' << 'SHAR_EOF' >> 'Xparse.c' &&
- X 2273, 2273, 2273, -167, 116, 2243, 2243, 2243, 2243, 2243,
- X -65, 2243, 2273, 0, 0, 2273, 0, -78, 0, 0,
- X 0, 0, -50, 0, 0, 2273, 1820, 0, 0, 2273,
- X 0, 2499, 0, 0, 2499, 0, -196, 0, 0, 0,
- X 0, -72, 0, 2511, 2183, 0, 2303, -61, 2406, -4,
- X -41, 3, 23, 2273, 6, 0, 2273, 0, 2273, -13,
- X 0, 2333, 2273, 2568, 2589, 0, 0, 2613, 2613, 2613,
- X 2613, 2613, 2613, 2613, 2613, 2613, 2613, 2613, 2613, 2613,
- X 2613, 2273, 2273, 2273, 2273, 0, -95, 0, 0, 0,
- X 0, 0, 0, 0, 0, 0, -28, -28, -211, -211,
- X -211, -26, -120, 2418, 2613, 25, 0, -9, 29, 0,
- X 2433, 0, -276, 2526, 2445, 32, 0, 0, 0, 352,
- X 0, 0, 2460, 352, 2213, 31, 2613, 0, 33, 2,
- X 2273, 2273, 2273, 2613, 4, 2613, -108, 0, -221, 2120,
- X 0, 5, 7, 2273, 2613, 2601, 2622, 198, 0, 0,
- X 2273, 0, 8, 0, 10, 0, 0, 2273, 0, 0,
- X 0, 0, -218, 2273, -196, 2273, 2273, -83, -48, -31,
- X 0, 14, 0, 0, 0, 0, 0, 0, 18, -167,
- X 0, 2147, 0, 24, -17, 6, 2613, 0, 2613, 2472,
- X 14, 0, 0, 0, 0, 0, 2273, -26, 0, 0,
- X 0, -196, -196, 2613, 28, 0, 0, 0,
- };
- short yyrindex[] = { 0,
- X 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- X 0, 0, 0, 597, 0, 0, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0, 0, 0, 0, 0, 1583,
- X -98, 1978, 1641, 0, 0, 0, 0, 0, 0, 0,
- X 0, 1409, 0, 0, 0, 0, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- X 539, 655, 887, 945, 1003, 0, 423, 0, 0, 481,
- X 0, 0, 1920, 0, 0, 0, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0, 1061, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- X 0, 0, 0, 0, 1699, 0, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0, 0, 0, 30, 0, 0,
- X 0, 0, 713, 0, 0, 0, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- X 0, 204, 0, 0, 0, 0, -192, 0, 0, 0,
- X 0, 0, 0, 0, 0, 0, 0, 0, 0, 2363,
- X 0, 0, 45, 0, 0, 0, 0, 17, 40, 135,
- X 209, 283, 357, 2006, 2018, 2026, 2038, 2046, 2058, 2066,
- X 2078, 0, 0, 0, 0, 0, -67, 0, 0, 0,
- X 0, 0, 0, 0, 0, 0, 1467, 1525, 1119, 1177,
- X 1235, 1351, 771, 0, -185, 0, 0, 0, 50, 0,
- X 0, 0, 1786, 0, 0, 0, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0, -10, -205, 0, -223, 0,
- X 0, 0, 0, -170, 0, -169, 0, 0, 1874, 0,
- X 0, 0, 0, 0, -59, 0, -236, -35, 0, 0,
- X 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- X 0, 1293, 0, 0, 0, 0, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0, -177, 11, 0, -46, 0,
- X 829, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- X 0, 0, 0, 2086, 0, 0, 0, 0,
- };
- short yygindex[] = { 0,
- X 21, 9, 0, -49, 72, 0, 57, 0, 0, -7,
- X -1, -188, 1, 0, 44, 0, 0, 0, 0, 0,
- X 0, 0, 61, 0, 125, -137, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0, 302, 0, 0, 0, 0,
- X 0, 0, 0, 0, 103, 0, 0, 0, 0, 0,
- X 0, 0, 0, 0, 0,
- };
- #define YYTABLESIZE 2907
- short yytable[] = { 78,
- X 31, 275, 72, 72, 72, 79, 72, 133, 83, 159,
- X 84, 85, 161, 162, 2, 166, 8, 9, 76, 168,
- X 26, 85, 48, 48, 48, 31, 72, 48, 48, 48,
- X 72, 89, 174, 269, 141, 77, 77, 48, 48, 48,
- X 142, 257, 77, 293, 134, 26, 174, 73, 74, 75,
- X 93, 81, 94, 78, 78, 152, 137, 155, 78, 78,
- X 78, 139, 44, 45, 164, 48, 76, 76, 83, 175,
- X 169, 96, 90, 76, 171, 125, 85, 111, 77, 134,
- X 294, 87, 87, 306, 131, 132, 87, 88, 87, 184,
- X 185, 44, 45, 2, 90, 89, 78, 188, 189, 190,
- X 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- X 201, 186, 187, 288, 289, 290, 134, 207, 208, 209,
- X 210, 211, 212, 213, 72, 72, 72, 72, 72, 325,
- X 72, 90, 89, 224, 44, 45, 225, 144, 167, 136,
- X 305, 138, 170, 146, 214, 145, 231, 234, 172, 147,
- X 235, 173, 150, 148, 149, 292, 286, 153, 154, 156,
- X 11, 11, 11, 160, 151, 243, 179, 247, 180, 217,
- X 218, 219, 220, 221, 254, 223, 132, 256, 183, 247,
- X 311, 286, 260, 247, 118, 119, 120, 121, 122, 123,
- X 279, 46, 46, 46, 281, 206, 46, 46, 46, 14,
- X 14, 14, 265, 266, 267, 268, 46, 46, 46, 46,
- X 46, 46, 79, 79, 141, 312, 286, 79, 79, 79,
- X 142, 222, 236, 50, 50, 50, 216, 227, 50, 50,
- X 50, 140, 313, 286, 46, 8, 9, 76, 50, 50,
- X 50, 50, 77, 83, 230, 84, 322, 286, 91, 91,
- X 239, 247, 247, 247, 237, 79, 250, 238, 251, 145,
- X 176, 128, 129, 130, 225, 252, 50, 131, 132, 92,
- X 92, 302, 8, 9, 76, 33, 33, 33, 247, 77,
- X 33, 33, 33, 255, 307, 253, 309, 310, 258, 271,
- X 1, 33, 272, 273, 278, 2, 284, 286, 34, 34,
- X 34, 283, 287, 34, 34, 34, 297, 262, 316, 291,
- X 141, 314, 298, 303, 34, 304, 142, 324, 33, 315,
- X 214, 3, 4, 5, 299, 321, 95, 6, 163, 328,
- X 0, 158, 7, 8, 9, 10, 0, 11, 12, 13,
- X 14, 34, 15, 16, 17, 0, 76, 18, 19, 20,
- X 21, 159, 0, 0, 0, 3, 4, 5, 0, 22,
- X 23, 6, 0, 0, 24, 0, 7, 8, 9, 10,
- X 0, 11, 12, 13, 14, 0, 15, 16, 17, 0,
- X 0, 18, 19, 20, 21, 157, 0, 308, 44, 45,
- X 2, 158, 0, 35, 35, 35, 0, 0, 35, 35,
- X 35, 0, 216, 126, 127, 128, 129, 130, 0, 35,
- X 0, 131, 132, 0, 0, 0, 3, 4, 5, 0,
- X 0, 0, 6, 0, 326, 327, 0, 7, 8, 9,
- X 10, 0, 11, 12, 13, 14, 35, 15, 16, 17,
- X 46, 47, 18, 19, 20, 21, 48, 49, 50, 51,
- X 52, 53, 0, 54, 0, 0, 55, 56, 57, 94,
- X 0, 0, 94, 94, 94, 94, 0, 36, 36, 36,
- X 0, 0, 36, 36, 36, 116, 117, 118, 119, 120,
- X 121, 122, 123, 36, 0, 0, 0, 0, 0, 0,
- X 94, 94, 94, 0, 0, 0, 94, 0, 0, 0,
- X 0, 94, 94, 94, 94, 0, 94, 94, 94, 94,
- X 36, 94, 94, 94, 94, 94, 94, 94, 94, 94,
- X 94, 94, 94, 94, 94, 94, 0, 94, 0, 0,
- X 94, 94, 94, 43, 0, 0, 44, 45, 2, 0,
- X 0, 37, 37, 37, 0, 0, 37, 37, 37, 0,
- X 97, 98, 99, 100, 101, 102, 103, 37, 0, 0,
- X 0, 0, 0, 0, 3, 4, 5, 0, 0, 0,
- X 6, 0, 0, 0, 0, 7, 8, 9, 10, 0,
- X 11, 12, 13, 14, 37, 15, 16, 17, 46, 47,
- X 18, 19, 20, 21, 48, 49, 50, 51, 52, 53,
- X 0, 54, 0, 0, 55, 56, 57, 157, 0, 0,
- X 44, 45, 2, 0, 0, 38, 38, 38, 0, 0,
- X 38, 38, 38, 0, 0, 0, 0, 0, 0, 0,
- X 0, 38, 0, 0, 0, 0, 0, 0, 3, 4,
- X 5, 0, 0, 0, 6, 0, 0, 0, 0, 7,
- X 8, 9, 10, 0, 11, 12, 13, 14, 38, 15,
- X 16, 17, 46, 47, 18, 19, 20, 21, 48, 49,
- X 50, 51, 52, 53, 0, 54, 0, 0, 55, 56,
- X 57, 75, 75, 75, 0, 82, 75, 75, 75, 75,
- X 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- X 75, 75, 75, 75, 75, 75, 75, 75, 0, 75,
- X 75, 75, 75, 75, 75, 75, 0, 75, 75, 75,
- X 75, 75, 75, 75, 75, 75, 75, 75, 75, 0,
- X 75, 75, 75, 0, 0, 75, 75, 75, 75, 117,
- X 117, 117, 0, 82, 117, 117, 117, 117, 117, 117,
- X 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
- X 117, 117, 117, 117, 117, 117, 0, 117, 117, 117,
- X 117, 117, 117, 117, 0, 117, 117, 117, 117, 117,
- X 117, 117, 117, 117, 117, 117, 117, 0, 117, 117,
- X 117, 0, 0, 117, 117, 117, 117, 58, 58, 58,
- X 0, 82, 58, 58, 58, 58, 58, 58, 58, 58,
- X 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
- X 58, 58, 58, 58, 0, 58, 58, 58, 58, 58,
- X 58, 58, 0, 58, 58, 58, 0, 58, 58, 58,
- X 58, 58, 58, 58, 58, 0, 58, 58, 58, 0,
- X 0, 58, 58, 58, 58, 58, 58, 58, 0, 82,
- X 58, 58, 58, 75, 75, 75, 75, 75, 75, 75,
- X 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
- X 58, 58, 0, 58, 58, 58, 58, 58, 58, 58,
- X 0, 0, 58, 58, 0, 58, 58, 58, 58, 58,
- X 58, 58, 58, 0, 58, 58, 58, 0, 0, 58,
- X 58, 58, 58, 121, 121, 121, 0, 0, 121, 121,
- X 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
- X 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
- X 0, 121, 121, 121, 121, 121, 121, 121, 0, 121,
- X 121, 121, 0, 121, 121, 121, 121, 121, 121, 121,
- X 121, 0, 121, 121, 121, 0, 0, 121, 121, 121,
- X 121, 140, 140, 140, 0, 0, 140, 140, 140, 140,
- X 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
- X 140, 140, 140, 140, 140, 140, 140, 140, 0, 140,
- X 140, 140, 140, 140, 140, 140, 0, 0, 140, 140,
- X 140, 140, 140, 140, 140, 140, 140, 140, 140, 0,
- X 140, 140, 140, 0, 0, 140, 140, 140, 140, 66,
- X 66, 66, 0, 0, 66, 66, 66, 66, 66, 66,
- X 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- X 66, 66, 66, 66, 66, 66, 0, 66, 66, 66,
- X 66, 66, 66, 66, 0, 66, 66, 0, 66, 66,
- X 66, 66, 66, 66, 66, 66, 66, 0, 66, 66,
- X 66, 0, 0, 66, 66, 66, 66, 111, 111, 111,
- X 0, 0, 111, 111, 111, 111, 111, 111, 111, 111,
- X 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
- X 111, 111, 111, 111, 0, 111, 111, 111, 111, 111,
- X 111, 111, 0, 111, 111, 111, 0, 111, 111, 111,
- X 111, 111, 111, 111, 111, 0, 111, 111, 111, 0,
- X 0, 111, 111, 111, 111, 68, 68, 68, 0, 0,
- X 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- X 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- X 68, 68, 0, 68, 68, 68, 68, 68, 68, 68,
- X 0, 68, 0, 0, 68, 68, 68, 68, 68, 68,
- X 68, 68, 68, 0, 68, 68, 68, 0, 0, 68,
- X 68, 68, 68, 69, 69, 69, 0, 0, 69, 69,
- X 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- X 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- X 0, 69, 69, 69, 69, 69, 69, 69, 0, 69,
- X 0, 0, 69, 69, 69, 69, 69, 69, 69, 69,
- X 69, 0, 69, 69, 69, 0, 0, 69, 69, 69,
- X 69, 67, 67, 67, 0, 0, 67, 67, 67, 67,
- X 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- X 67, 67, 67, 67, 67, 67, 67, 67, 0, 67,
- X 67, 67, 67, 67, 67, 67, 0, 67, 0, 0,
- X 67, 67, 67, 67, 67, 67, 67, 67, 67, 0,
- X 67, 67, 67, 0, 0, 67, 67, 67, 67, 141,
- X 141, 141, 0, 0, 141, 141, 141, 141, 141, 141,
- X 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
- X 141, 141, 141, 141, 141, 141, 0, 141, 141, 141,
- X 141, 141, 141, 141, 0, 141, 0, 0, 141, 141,
- X 141, 141, 141, 141, 141, 141, 141, 0, 141, 141,
- X 141, 0, 0, 141, 141, 141, 141, 63, 63, 63,
- X 0, 0, 63, 63, 63, 63, 63, 63, 63, 63,
- X 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
- X 63, 63, 63, 63, 0, 63, 63, 63, 63, 63,
- X 63, 63, 0, 63, 0, 0, 63, 63, 63, 63,
- X 63, 63, 63, 63, 63, 0, 63, 63, 63, 0,
- X 0, 63, 63, 63, 63, 64, 64, 64, 0, 0,
- X 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- X 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- X 64, 64, 0, 64, 64, 64, 64, 64, 64, 64,
- X 0, 64, 0, 0, 64, 64, 64, 64, 64, 64,
- X 64, 64, 64, 0, 64, 64, 64, 0, 0, 64,
- X 64, 64, 64, 65, 65, 65, 0, 0, 65, 65,
- X 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
- X 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
- X 0, 65, 65, 65, 65, 65, 65, 65, 0, 65,
- X 0, 0, 65, 65, 65, 65, 65, 65, 65, 65,
- X 65, 0, 65, 65, 65, 0, 0, 65, 65, 65,
- X 65, 111, 111, 111, 0, 0, 111, 111, 111, 110,
- X 110, 110, 110, 110, 110, 110, 111, 111, 111, 111,
- X 111, 111, 111, 111, 111, 111, 111, 111, 0, 111,
- X 111, 111, 111, 111, 111, 111, 0, 0, 111, 111,
- X 0, 111, 111, 111, 111, 111, 111, 111, 111, 0,
- X 111, 111, 111, 0, 0, 111, 111, 111, 111, 142,
- X 142, 142, 0, 0, 142, 142, 142, 142, 142, 142,
- X 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
- X 142, 142, 142, 142, 142, 142, 0, 142, 142, 142,
- X 142, 142, 142, 142, 0, 142, 142, 142, 142, 0,
- X 0, 0, 142, 142, 142, 142, 0, 0, 142, 142,
- X 142, 0, 0, 142, 142, 142, 142, 139, 139, 139,
- X 0, 0, 139, 139, 139, 139, 139, 139, 139, 139,
- X 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
- X 139, 139, 139, 139, 0, 139, 139, 139, 139, 139,
- X 139, 139, 0, 0, 139, 139, 139, 0, 0, 0,
- X 139, 139, 139, 139, 0, 0, 139, 139, 139, 0,
- X 0, 139, 139, 139, 139, 61, 61, 61, 0, 0,
- X 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
- X 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
- X 61, 61, 0, 61, 61, 61, 0, 0, 0, 61,
- X 0, 61, 0, 0, 61, 61, 61, 61, 61, 61,
- X 61, 61, 61, 0, 61, 61, 61, 0, 0, 61,
- X 61, 61, 61, 62, 62, 62, 0, 0, 62, 62,
- X 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- X 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- X 0, 62, 62, 62, 0, 0, 0, 62, 0, 62,
- X 0, 0, 62, 62, 62, 62, 62, 62, 62, 62,
- X 62, 0, 62, 62, 62, 0, 0, 62, 62, 62,
- X 62, 121, 121, 121, 0, 0, 121, 121, 121, 0,
- X 0, 0, 0, 0, 0, 0, 121, 121, 121, 121,
- X 121, 121, 121, 121, 121, 121, 121, 121, 0, 121,
- X 121, 121, 121, 121, 121, 121, 0, 0, 121, 121,
- X 0, 121, 121, 121, 121, 121, 121, 121, 121, 0,
- X 121, 121, 121, 0, 0, 121, 121, 121, 121, 54,
- X 54, 54, 0, 0, 54, 54, 54, 0, 0, 0,
- X 0, 0, 0, 0, 54, 54, 54, 54, 54, 54,
- X 54, 54, 54, 54, 54, 54, 0, 54, 0, 0,
- X 0, 0, 0, 54, 0, 0, 0, 0, 54, 54,
- X 54, 54, 54, 54, 54, 54, 54, 0, 54, 54,
- X 54, 0, 0, 54, 54, 54, 54, 55, 55, 55,
- X 0, 0, 55, 55, 55, 0, 0, 0, 0, 0,
- X 0, 0, 55, 55, 55, 55, 55, 55, 55, 55,
- X 55, 55, 55, 55, 0, 55, 0, 44, 45, 0,
- X 0, 55, 0, 0, 0, 0, 55, 55, 55, 55,
- X 55, 55, 55, 55, 55, 0, 55, 55, 55, 0,
- X 0, 55, 55, 55, 55, 3, 4, 5, 0, 0,
- X 0, 6, 0, 0, 0, 0, 7, 8, 9, 10,
- X 0, 11, 12, 13, 14, 0, 15, 16, 17, 0,
- X 0, 18, 19, 20, 21, 58, 0, 0, 82, 0,
- X 0, 0, 75, 75, 75, 75, 75, 75, 75, 58,
- X 0, 58, 58, 0, 58, 58, 58, 58, 58, 58,
- X 58, 0, 58, 58, 58, 58, 58, 58, 58, 232,
- X 0, 58, 58, 0, 58, 58, 58, 0, 58, 58,
- X 58, 58, 0, 58, 58, 58, 0, 0, 58, 58,
- X 58, 58, 0, 0, 0, 0, 3, 4, 5, 0,
- X 0, 0, 6, 0, 0, 0, 0, 7, 8, 9,
- X 10, 0, 11, 12, 13, 233, 0, 15, 16, 17,
- X 0, 0, 18, 19, 20, 21, 82, 0, 0, 0,
- X 75, 75, 75, 75, 75, 75, 75, 58, 0, 58,
- X 58, 58, 58, 58, 58, 58, 58, 58, 58, 0,
- X 58, 58, 58, 58, 58, 58, 58, 0, 0, 58,
- X 58, 0, 58, 58, 58, 0, 58, 58, 58, 58,
- X 0, 58, 58, 58, 121, 0, 58, 58, 58, 58,
- X 0, 0, 0, 121, 0, 121, 121, 121, 121, 121,
- X 121, 121, 121, 121, 121, 0, 121, 121, 121, 121,
- X 121, 121, 121, 0, 0, 121, 121, 0, 121, 121,
- X 121, 0, 121, 121, 121, 121, 0, 121, 121, 121,
- X 0, 0, 121, 121, 121, 121, 32, 32, 32, 0,
- X 0, 32, 32, 32, 0, 0, 0, 0, 0, 0,
- X 0, 32, 32, 32, 32, 32, 32, 32, 32, 32,
- X 32, 32, 32, 0, 39, 39, 39, 0, 0, 39,
- X 39, 39, 0, 0, 0, 0, 122, 122, 122, 32,
- X 39, 122, 122, 122, 123, 123, 123, 0, 0, 123,
- X 123, 123, 122, 0, 0, 0, 124, 124, 124, 0,
- X 123, 124, 124, 124, 125, 125, 125, 39, 0, 125,
- X 125, 125, 124, 0, 0, 0, 126, 126, 126, 122,
- X 125, 126, 126, 126, 127, 127, 127, 123, 0, 127,
- X 127, 127, 126, 0, 0, 0, 128, 128, 128, 124,
- X 127, 128, 128, 128, 53, 53, 53, 125, 0, 53,
- X 53, 53, 128, 0, 0, 0, 0, 177, 0, 126,
- X 53, 0, 0, 0, 0, 0, 113, 127, 114, 115,
- X 116, 117, 118, 119, 120, 121, 122, 123, 0, 128,
- X 0, 0, 0, 0, 295, 0, 0, 53, 0, 0,
- X 0, 0, 0, 113, 178, 114, 115, 116, 117, 118,
- X 119, 120, 121, 122, 123, 0, 0, 0, 0, 0,
- X 0, 318, 104, 105, 106, 107, 108, 109, 110, 0,
- X 113, 296, 114, 115, 116, 117, 118, 119, 120, 121,
- X 122, 123, 104, 105, 106, 107, 108, 109, 110, 3,
- X 4, 5, 0, 111, 0, 6, 0, 176, 319, 0,
- X 7, 8, 9, 70, 0, 11, 12, 13, 71, 80,
- X 15, 16, 17, 111, 0, 18, 19, 20, 21, 3,
- X 4, 5, 0, 0, 0, 6, 0, 0, 0, 0,
- X 7, 8, 9, 10, 242, 11, 12, 13, 14, 0,
- X 15, 16, 17, 0, 0, 18, 19, 20, 21, 3,
- X 4, 5, 0, 0, 0, 6, 0, 0, 0, 0,
- X 7, 8, 9, 10, 282, 11, 12, 13, 14, 0,
- X 15, 16, 17, 0, 0, 18, 19, 20, 21, 3,
- X 4, 5, 0, 0, 0, 6, 0, 0, 0, 0,
- X 7, 8, 9, 70, 0, 11, 12, 13, 71, 0,
- X 15, 16, 17, 0, 0, 18, 19, 20, 21, 3,
- X 4, 5, 0, 0, 0, 6, 0, 0, 0, 0,
- X 7, 8, 9, 10, 0, 11, 12, 13, 14, 0,
- X 15, 16, 17, 0, 0, 18, 19, 20, 21, 3,
- X 4, 5, 0, 0, 0, 6, 0, 0, 0, 0,
- X 7, 8, 9, 245, 0, 11, 12, 13, 14, 0,
- X 15, 16, 17, 0, 0, 18, 19, 20, 21, 3,
- X 4, 5, 0, 0, 0, 6, 0, 0, 0, 0,
- X 7, 8, 9, 10, 0, 11, 12, 13, 259, 0,
- X 15, 16, 17, 0, 0, 18, 19, 20, 21, 166,
- X 166, 166, 0, 0, 0, 166, 0, 0, 0, 0,
- X 166, 166, 166, 166, 0, 166, 166, 166, 166, 0,
- X 166, 166, 166, 0, 0, 166, 166, 166, 166, 113,
- X 0, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- X 123, 113, 0, 114, 115, 116, 117, 118, 119, 120,
- X 121, 122, 123, 0, 0, 0, 113, 178, 114, 115,
- X 116, 117, 118, 119, 120, 121, 122, 123, 113, 270,
- X 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
- X 0, 0, 0, 113, 274, 114, 115, 116, 117, 118,
- X 119, 120, 121, 122, 123, 113, 277, 114, 115, 116,
- X 117, 118, 119, 120, 121, 122, 123, 44, 45, 0,
- X 0, 280, 0, 0, 0, 0, 0, 0, 0, 0,
- X 241, 0, 113, 323, 114, 115, 116, 117, 118, 119,
- X 120, 121, 122, 123, 113, 276, 114, 115, 116, 117,
- X 118, 119, 120, 121, 122, 123, 0, 0, 0, 113,
- X 0, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- X 123, 112, 0, 0, 0, 0, 0, 0, 0, 0,
- X 113, 0, 114, 115, 116, 117, 118, 119, 120, 121,
- X 122, 123, 263, 0, 0, 0, 0, 0, 0, 0,
- X 0, 113, 0, 114, 115, 116, 117, 118, 119, 120,
- X 121, 122, 123, 264, 0, 0, 0, 0, 0, 0,
- X 0, 0, 113, 0, 114, 115, 116, 117, 118, 119,
- X 120, 121, 122, 123, 113, 301, 114, 115, 116, 117,
- X 118, 119, 120, 121, 122, 123, 113, 0, 114, 115,
- X 116, 117, 118, 119, 120, 121, 122, 123, 115, 116,
- X 117, 118, 119, 120, 121, 122, 123,
- };
- short yycheck[] = { 7,
- X 0, 278, 4, 5, 6, 7, 8, 265, 10, 59,
- X 10, 298, 62, 63, 261, 65, 299, 300, 301, 69,
- X 0, 298, 259, 260, 261, 25, 28, 264, 265, 266,
- X 32, 301, 265, 222, 42, 259, 260, 274, 275, 276,
- X 42, 179, 266, 265, 302, 25, 265, 4, 5, 6,
- X 306, 8, 308, 259, 260, 55, 36, 57, 264, 265,
- X 266, 41, 259, 260, 64, 302, 259, 260, 70, 302,
- X 70, 28, 301, 266, 76, 32, 298, 298, 302, 265,
- X 302, 259, 260, 302, 296, 297, 15, 16, 266, 89,
- X 90, 259, 260, 261, 265, 265, 302, 97, 98, 99,
- X 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
- X 110, 91, 92, 251, 252, 253, 302, 117, 118, 119,
- X 120, 121, 122, 123, 126, 127, 128, 129, 130, 318,
- X 132, 302, 302, 133, 259, 260, 136, 262, 67, 301,
- X 278, 301, 71, 301, 124, 43, 146, 147, 77, 301,
- X 150, 80, 301, 51, 52, 264, 265, 55, 56, 57,
- X 259, 260, 261, 61, 306, 165, 263, 167, 301, 126,
- X 127, 128, 129, 130, 174, 132, 297, 177, 301, 179,
- X 264, 265, 182, 183, 280, 281, 282, 283, 284, 285,
- X 240, 259, 260, 261, 244, 306, 264, 265, 266, 259,
- X 260, 261, 202, 203, 204, 205, 274, 275, 276, 277,
- X 278, 279, 259, 260, 222, 264, 265, 264, 265, 266,
- X 222, 287, 151, 259, 260, 261, 124, 306, 264, 265,
- X 266, 295, 264, 265, 302, 299, 300, 301, 274, 275,
- X 276, 277, 306, 245, 295, 245, 264, 265, 259, 260,
- X 323, 251, 252, 253, 152, 302, 318, 155, 263, 157,
- X 302, 290, 291, 292, 264, 263, 302, 296, 297, 259,
- X 260, 271, 299, 300, 301, 259, 260, 261, 278, 306,
- X 264, 265, 266, 278, 284, 263, 286, 287, 302, 265,
- X 256, 275, 302, 265, 263, 261, 266, 265, 259, 260,
- X 261, 245, 301, 264, 265, 266, 302, 183, 300, 306,
- X 318, 298, 306, 306, 275, 306, 318, 317, 302, 302,
- X 300, 287, 288, 289, 264, 302, 25, 293, 260, 302,
- X -1, 302, 298, 299, 300, 301, -1, 303, 304, 305,
- X 306, 302, 308, 309, 310, -1, 302, 313, 314, 315,
- X 316, 302, -1, -1, -1, 287, 288, 289, -1, 325,
- X 326, 293, -1, -1, 330, -1, 298, 299, 300, 301,
- X -1, 303, 304, 305, 306, -1, 308, 309, 310, -1,
- X -1, 313, 314, 315, 316, 256, -1, 285, 259, 260,
- X 261, 262, -1, 259, 260, 261, -1, -1, 264, 265,
- X 266, -1, 300, 288, 289, 290, 291, 292, -1, 275,
- X -1, 296, 297, -1, -1, -1, 287, 288, 289, -1,
- X -1, -1, 293, -1, 322, 323, -1, 298, 299, 300,
- X 301, -1, 303, 304, 305, 306, 302, 308, 309, 310,
- X 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
- X 321, 322, -1, 324, -1, -1, 327, 328, 329, 256,
- X -1, -1, 259, 260, 261, 262, -1, 259, 260, 261,
- X -1, -1, 264, 265, 266, 278, 279, 280, 281, 282,
- X 283, 284, 285, 275, -1, -1, -1, -1, -1, -1,
- X 287, 288, 289, -1, -1, -1, 293, -1, -1, -1,
- X -1, 298, 299, 300, 301, -1, 303, 304, 305, 306,
- X 302, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- X 317, 318, 319, 320, 321, 322, -1, 324, -1, -1,
- X 327, 328, 329, 256, -1, -1, 259, 260, 261, -1,
- X -1, 259, 260, 261, -1, -1, 264, 265, 266, -1,
- X 267, 268, 269, 270, 271, 272, 273, 275, -1, -1,
- X -1, -1, -1, -1, 287, 288, 289, -1, -1, -1,
- X 293, -1, -1, -1, -1, 298, 299, 300, 301, -1,
- X 303, 304, 305, 306, 302, 308, 309, 310, 311, 312,
- X 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- X -1, 324, -1, -1, 327, 328, 329, 256, -1, -1,
- X 259, 260, 261, -1, -1, 259, 260, 261, -1, -1,
- X 264, 265, 266, -1, -1, -1, -1, -1, -1, -1,
- X -1, 275, -1, -1, -1, -1, -1, -1, 287, 288,
- X 289, -1, -1, -1, 293, -1, -1, -1, -1, 298,
- X 299, 300, 301, -1, 303, 304, 305, 306, 302, 308,
- X 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
- X 319, 320, 321, 322, -1, 324, -1, -1, 327, 328,
- X 329, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- X 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
- X 278, 279, 280, 281, 282, 283, 284, 285, -1, 287,
- X 288, 289, 290, 291, 292, 293, -1, 295, 296, 297,
- X 298, 299, 300, 301, 302, 303, 304, 305, 306, -1,
- X 308, 309, 310, -1, -1, 313, 314, 315, 316, 259,
- X 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
- X 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
- X 280, 281, 282, 283, 284, 285, -1, 287, 288, 289,
- X 290, 291, 292, 293, -1, 295, 296, 297, 298, 299,
- X 300, 301, 302, 303, 304, 305, 306, -1, 308, 309,
- X 310, -1, -1, 313, 314, 315, 316, 259, 260, 261,
- X -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- X 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
- X 282, 283, 284, 285, -1, 287, 288, 289, 290, 291,
- X 292, 293, -1, 295, 296, 297, -1, 299, 300, 301,
- X 302, 303, 304, 305, 306, -1, 308, 309, 310, -1,
- X -1, 313, 314, 315, 316, 259, 260, 261, -1, 263,
- X 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
- X 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- X 284, 285, -1, 287, 288, 289, 290, 291, 292, 293,
- X -1, -1, 296, 297, -1, 299, 300, 301, 302, 303,
- X 304, 305, 306, -1, 308, 309, 310, -1, -1, 313,
- X 314, 315, 316, 259, 260, 261, -1, -1, 264, 265,
- X 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
- X 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- X -1, 287, 288, 289, 290, 291, 292, 293, -1, 295,
- X 296, 297, -1, 299, 300, 301, 302, 303, 304, 305,
- X 306, -1, 308, 309, 310, -1, -1, 313, 314, 315,
- X 316, 259, 260, 261, -1, -1, 264, 265, 266, 267,
- X 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
- X 278, 279, 280, 281, 282, 283, 284, 285, -1, 287,
- X 288, 289, 290, 291, 292, 293, -1, -1, 296, 297,
- X 298, 299, 300, 301, 302, 303, 304, 305, 306, -1,
- X 308, 309, 310, -1, -1, 313, 314, 315, 316, 259,
- X 260, 261, -1, -1, 264, 265, 266, 267, 268, 269,
- X 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
- X 280, 281, 282, 283, 284, 285, -1, 287, 288, 289,
- X 290, 291, 292, 293, -1, 295, 296, -1, 298, 299,
- X 300, 301, 302, 303, 304, 305, 306, -1, 308, 309,
- X 310, -1, -1, 313, 314, 315, 316, 259, 260, 261,
- X -1, -1, 264, 265, 266, 267, 268, 269, 270, 271,
- X 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
- X 282, 283, 284, 285, -1, 287, 288, 289, 290, 291,
- X 292, 293, -1, 295, 296, 297, -1, 299, 300, 301,
- X 302, 303, 304, 305, 306, -1, 308, 309, 310, -1,
- X -1, 313, 314, 315, 316, 259, 260, 261, -1, -1,
- X 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
- X 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- X 284, 285, -1, 287, 288, 289, 290, 291, 292, 293,
- X -1, 295, -1, -1, 298, 299, 300, 301, 302, 303,
- X 304, 305, 306, -1, 308, 309, 310, -1, -1, 313,
- X 314, 315, 316, 259, 260, 261, -1, -1, 264, 265,
- X 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
- X 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- X -1, 287, 288, 289, 290, 291, 292, 293, -1, 295,
- X -1, -1, 298, 299, 300, 301, 302, 303, 304, 305,
- X 306, -1, 308, 309, 310, -1, -1, 313, 314, 315,
- X 316, 259, 260, 261, -1, -1, 264, 265, 266, 267,
- X 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
- X 278, 279, 280, 281, 282, 283, 284, 285, -1, 287,
- X 288, 289, 290, 291, 292, 293, -1, 295, -1, -1,
- X 298, 299, 300, 301, 302, 303, 304, 305, 306, -1,
- X 308, 309, 310, -1, -1, 313, 314, 315, 316, 259,
- X 260, 261, -1, -1, 264, 265, 266, 267, 268, 269,
- X 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
- X 280, 281, 282, 283, 284, 285, -1, 287, 288, 289,
- X 290, 291, 292, 293, -1, 295, -1, -1, 298, 299,
- X 300, 301, 302, 303, 304, 305, 306, -1, 308, 309,
- X 310, -1, -1, 313, 314, 315, 316, 259, 260, 261,
- X -1, -1, 264, 265, 266, 267, 268, 269, 270, 271,
- X 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
- X 282, 283, 284, 285, -1, 287, 288, 289, 290, 291,
- X 292, 293, -1, 295, -1, -1, 298, 299, 300, 301,
- X 302, 303, 304, 305, 306, -1, 308, 309, 310, -1,
- X -1, 313, 314, 315, 316, 259, 260, 261, -1, -1,
- X 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
- X 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- X 284, 285, -1, 287, 288, 289, 290, 291, 292, 293,
- X -1, 295, -1, -1, 298, 299, 300, 301, 302, 303,
- X 304, 305, 306, -1, 308, 309, 310, -1, -1, 313,
- X 314, 315, 316, 259, 260, 261, -1, -1, 264, 265,
- X 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
- X 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- X -1, 287, 288, 289, 290, 291, 292, 293, -1, 295,
- X -1, -1, 298, 299, 300, 301, 302, 303, 304, 305,
- X 306, -1, 308, 309, 310, -1, -1, 313, 314, 315,
- X 316, 259, 260, 261, -1, -1, 264, 265, 266, 267,
- X 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
- X 278, 279, 280, 281, 282, 283, 284, 285, -1, 287,
- X 288, 289, 290, 291, 292, 293, -1, -1, 296, 297,
- X -1, 299, 300, 301, 302, 303, 304, 305, 306, -1,
- X 308, 309, 310, -1, -1, 313, 314, 315, 316, 259,
- X 260, 261, -1, -1, 264, 265, 266, 267, 268, 269,
- X 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
- X 280, 281, 282, 283, 284, 285, -1, 287, 288, 289,
- X 290, 291, 292, 293, -1, 295, 296, 297, 298, -1,
- X -1, -1, 302, 303, 304, 305, -1, -1, 308, 309,
- X 310, -1, -1, 313, 314, 315, 316, 259, 260, 261,
- X -1, -1, 264, 265, 266, 267, 268, 269, 270, 271,
- X 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
- X 282, 283, 284, 285, -1, 287, 288, 289, 290, 291,
- X 292, 293, -1, -1, 296, 297, 298, -1, -1, -1,
- X 302, 303, 304, 305, -1, -1, 308, 309, 310, -1,
- X -1, 313, 314, 315, 316, 259, 260, 261, -1, -1,
- X 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
- X 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- X 284, 285, -1, 287, 288, 289, -1, -1, -1, 293,
- X -1, 295, -1, -1, 298, 299, 300, 301, 302, 303,
- X 304, 305, 306, -1, 308, 309, 310, -1, -1, 313,
- X 314, 315, 316, 259, 260, 261, -1, -1, 264, 265,
- X 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
- X 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- X -1, 287, 288, 289, -1, -1, -1, 293, -1, 295,
- X -1, -1, 298, 299, 300, 301, 302, 303, 304, 305,
- X 306, -1, 308, 309, 310, -1, -1, 313, 314, 315,
- X 316, 259, 260, 261, -1, -1, 264, 265, 266, -1,
- X -1, -1, -1, -1, -1, -1, 274, 275, 276, 277,
- X 278, 279, 280, 281, 282, 283, 284, 285, -1, 287,
- X 288, 289, 290, 291, 292, 293, -1, -1, 296, 297,
- X -1, 299, 300, 301, 302, 303, 304, 305, 306, -1,
- X 308, 309, 310, -1, -1, 313, 314, 315, 316, 259,
- X 260, 261, -1, -1, 264, 265, 266, -1, -1, -1,
- X -1, -1, -1, -1, 274, 275, 276, 277, 278, 279,
- X 280, 281, 282, 283, 284, 285, -1, 287, -1, -1,
- X -1, -1, -1, 293, -1, -1, -1, -1, 298, 299,
- X 300, 301, 302, 303, 304, 305, 306, -1, 308, 309,
- X 310, -1, -1, 313, 314, 315, 316, 259, 260, 261,
- X -1, -1, 264, 265, 266, -1, -1, -1, -1, -1,
- X -1, -1, 274, 275, 276, 277, 278, 279, 280, 281,
- X 282, 283, 284, 285, -1, 287, -1, 259, 260, -1,
- X -1, 293, -1, -1, -1, -1, 298, 299, 300, 301,
- X 302, 303, 304, 305, 306, -1, 308, 309, 310, -1,
- X -1, 313, 314, 315, 316, 287, 288, 289, -1, -1,
- X -1, 293, -1, -1, -1, -1, 298, 299, 300, 301,
- X -1, 303, 304, 305, 306, -1, 308, 309, 310, -1,
- X -1, 313, 314, 315, 316, 260, -1, -1, 263, -1,
- X -1, -1, 267, 268, 269, 270, 271, 272, 273, 274,
- X -1, 276, 277, -1, 279, 280, 281, 282, 283, 284,
- X 285, -1, 287, 288, 289, 290, 291, 292, 293, 260,
- X -1, 296, 297, -1, 299, 300, 301, -1, 303, 304,
- X 305, 306, -1, 308, 309, 310, -1, -1, 313, 314,
- X 315, 316, -1, -1, -1, -1, 287, 288, 289, -1,
- X -1, -1, 293, -1, -1, -1, -1, 298, 299, 300,
- X 301, -1, 303, 304, 305, 306, -1, 308, 309, 310,
- X -1, -1, 313, 314, 315, 316, 263, -1, -1, -1,
- X 267, 268, 269, 270, 271, 272, 273, 274, -1, 276,
- X 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
- X 287, 288, 289, 290, 291, 292, 293, -1, -1, 296,
- X 297, -1, 299, 300, 301, -1, 303, 304, 305, 306,
- X -1, 308, 309, 310, 265, -1, 313, 314, 315, 316,
- X -1, -1, -1, 274, -1, 276, 277, 278, 279, 280,
- X 281, 282, 283, 284, 285, -1, 287, 288, 289, 290,
- X 291, 292, 293, -1, -1, 296, 297, -1, 299, 300,
- X 301, -1, 303, 304, 305, 306, -1, 308, 309, 310,
- X -1, -1, 313, 314, 315, 316, 259, 260, 261, -1,
- X -1, 264, 265, 266, -1, -1, -1, -1, -1, -1,
- X -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- X 283, 284, 285, -1, 259, 260, 261, -1, -1, 264,
- X 265, 266, -1, -1, -1, -1, 259, 260, 261, 302,
- X 275, 264, 265, 266, 259, 260, 261, -1, -1, 264,
- X 265, 266, 275, -1, -1, -1, 259, 260, 261, -1,
- X 275, 264, 265, 266, 259, 260, 261, 302, -1, 264,
- X 265, 266, 275, -1, -1, -1, 259, 260, 261, 302,
- X 275, 264, 265, 266, 259, 260, 261, 302, -1, 264,
- X 265, 266, 275, -1, -1, -1, 259, 260, 261, 302,
- X 275, 264, 265, 266, 259, 260, 261, 302, -1, 264,
- X 265, 266, 275, -1, -1, -1, -1, 265, -1, 302,
- X 275, -1, -1, -1, -1, -1, 274, 302, 276, 277,
- X 278, 279, 280, 281, 282, 283, 284, 285, -1, 302,
- X -1, -1, -1, -1, 265, -1, -1, 302, -1, -1,
- X -1, -1, -1, 274, 302, 276, 277, 278, 279, 280,
- X 281, 282, 283, 284, 285, -1, -1, -1, -1, -1,
- X -1, 265, 267, 268, 269, 270, 271, 272, 273, -1,
- X 274, 302, 276, 277, 278, 279, 280, 281, 282, 283,
- X 284, 285, 267, 268, 269, 270, 271, 272, 273, 287,
- X 288, 289, -1, 298, -1, 293, -1, 302, 302, -1,
- X 298, 299, 300, 301, -1, 303, 304, 305, 306, 307,
- X 308, 309, 310, 298, -1, 313, 314, 315, 316, 287,
- X 288, 289, -1, -1, -1, 293, -1, -1, -1, -1,
- X 298, 299, 300, 301, 302, 303, 304, 305, 306, -1,
- X 308, 309, 310, -1, -1, 313, 314, 315, 316, 287,
- X 288, 289, -1, -1, -1, 293, -1, -1, -1, -1,
- X 298, 299, 300, 301, 302, 303, 304, 305, 306, -1,
- X 308, 309, 310, -1, -1, 313, 314, 315, 316, 287,
- X 288, 289, -1, -1, -1, 293, -1, -1, -1, -1,
- X 298, 299, 300, 301, -1, 303, 304, 305, 306, -1,
- X 308, 309, 310, -1, -1, 313, 314, 315, 316, 287,
- X 288, 289, -1, -1, -1, 293, -1, -1, -1, -1,
- X 298, 299, 300, 301, -1, 303, 304, 305, 306, -1,
- X 308, 309, 310, -1, -1, 313, 314, 315, 316, 287,
- X 288, 289, -1, -1, -1, 293, -1, -1, -1, -1,
- X 298, 299, 300, 301, -1, 303, 304, 305, 306, -1,
- X 308, 309, 310, -1, -1, 313, 314, 315, 316, 287,
- X 288, 289, -1, -1, -1, 293, -1, -1, -1, -1,
- X 298, 299, 300, 301, -1, 303, 304, 305, 306, -1,
- X 308, 309, 310, -1, -1, 313, 314, 315, 316, 287,
- X 288, 289, -1, -1, -1, 293, -1, -1, -1, -1,
- X 298, 299, 300, 301, -1, 303, 304, 305, 306, -1,
- X 308, 309, 310, -1, -1, 313, 314, 315, 316, 274,
- X -1, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- X 285, 274, -1, 276, 277, 278, 279, 280, 281, 282,
- X 283, 284, 285, -1, -1, -1, 274, 302, 276, 277,
- X 278, 279, 280, 281, 282, 283, 284, 285, 274, 302,
- X 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- X -1, -1, -1, 274, 302, 276, 277, 278, 279, 280,
- X 281, 282, 283, 284, 285, 274, 302, 276, 277, 278,
- X 279, 280, 281, 282, 283, 284, 285, 259, 260, -1,
- X -1, 302, -1, -1, -1, -1, -1, -1, -1, -1,
- X 260, -1, 274, 302, 276, 277, 278, 279, 280, 281,
- X 282, 283, 284, 285, 274, 260, 276, 277, 278, 279,
- X 280, 281, 282, 283, 284, 285, -1, -1, -1, 274,
- X -1, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- X 285, 265, -1, -1, -1, -1, -1, -1, -1, -1,
- X 274, -1, 276, 277, 278, 279, 280, 281, 282, 283,
- X 284, 285, 265, -1, -1, -1, -1, -1, -1, -1,
- X -1, 274, -1, 276, 277, 278, 279, 280, 281, 282,
- X 283, 284, 285, 265, -1, -1, -1, -1, -1, -1,
- X -1, -1, 274, -1, 276, 277, 278, 279, 280, 281,
- X 282, 283, 284, 285, 274, 275, 276, 277, 278, 279,
- X 280, 281, 282, 283, 284, 285, 274, -1, 276, 277,
- X 278, 279, 280, 281, 282, 283, 284, 285, 277, 278,
- X 279, 280, 281, 282, 283, 284, 285,
- };
- #define YYFINAL 25
- #ifndef YYDEBUG
- #define YYDEBUG 0
- #endif
- #define YYMAXTOKEN 330
- #if YYDEBUG
- char *yyname[] = {
- "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"UNEXPECTED","BAD_DECIMAL","NL",
- "SEMI_COLON","LBRACE","RBRACE","LBOX","RBOX","COMMA","IO_OUT","ASSIGN",
- "ADD_ASG","SUB_ASG","MUL_ASG","DIV_ASG","MOD_ASG","POW_ASG","QMARK","COLON",
- "OR","AND","IN","MATCH","EQ","NEQ","LT","LTE","GT","GTE","CAT","GETLINE","PLUS",
- "MINUS","MUL","DIV","MOD","NOT","UMINUS","IO_IN","PIPE","POW","INC_or_DEC",
- "DOLLAR","FIELD","LPAREN","RPAREN","DOUBLE","STRING_","RE","ID","D_ID",
- "FUNCT_ID","BUILTIN","LENGTH","PRINT","PRINTF","SPLIT","MATCH_FUNC","SUB",
- "GSUB","DO","WHILE","FOR","BREAK","CONTINUE","IF","ELSE","DELETE","BEGIN","END",
- "EXIT","NEXT","RETURN","FUNCTION",
- };
- char *yyrule[] = {
- "$accept : program",
- "program : program_block",
- "program : program program_block",
- "program_block : PA_block",
- "program_block : function_def",
- "program_block : outside_error block",
- "PA_block : block",
- "$$1 :",
- "PA_block : BEGIN $$1 block",
- "$$2 :",
- "PA_block : END $$2 block",
- "$$3 :",
- "PA_block : expr $$3 block_or_separator",
- "$$4 :",
- "$$5 :",
- "PA_block : expr COMMA $$4 expr $$5 block_or_separator",
- "block : LBRACE statement_list RBRACE",
- "block : LBRACE error RBRACE",
- "block_or_separator : block",
- "block_or_separator : separator",
- "statement_list : statement",
- "statement_list : statement_list statement",
- "statement : block",
- "statement : expr separator",
- "statement : separator",
- "statement : error separator",
- "statement : BREAK separator",
- "statement : CONTINUE separator",
- "statement : return_statement",
- "statement : NEXT separator",
- "separator : NL",
- "separator : SEMI_COLON",
- "expr : cat_expr",
- "expr : lvalue ASSIGN expr",
- "expr : lvalue ADD_ASG expr",
- "expr : lvalue SUB_ASG expr",
- "expr : lvalue MUL_ASG expr",
- "expr : lvalue DIV_ASG expr",
- "expr : lvalue MOD_ASG expr",
- "expr : lvalue POW_ASG expr",
- "expr : expr EQ expr",
- "expr : expr NEQ expr",
- "expr : expr LT expr",
- "expr : expr LTE expr",
- "expr : expr GT expr",
- "expr : expr GTE expr",
- "expr : expr MATCH expr",
- "$$6 :",
- "expr : expr OR $$6 expr",
- "$$7 :",
- "expr : expr AND $$7 expr",
- "$$8 :",
- "$$9 :",
- "expr : expr QMARK $$8 expr COLON $$9 expr",
- "cat_expr : p_expr",
- "cat_expr : cat_expr p_expr",
- "p_expr : DOUBLE",
- "p_expr : STRING_",
- "p_expr : ID",
- "p_expr : LPAREN expr RPAREN",
- "p_expr : RE",
- "p_expr : p_expr PLUS p_expr",
- "p_expr : p_expr MINUS p_expr",
- "p_expr : p_expr MUL p_expr",
- "p_expr : p_expr DIV p_expr",
- "p_expr : p_expr MOD p_expr",
- "p_expr : p_expr POW p_expr",
- "p_expr : NOT p_expr",
- "p_expr : PLUS p_expr",
- "p_expr : MINUS p_expr",
- "p_expr : builtin",
- "p_expr : ID INC_or_DEC",
- "p_expr : INC_or_DEC lvalue",
- "p_expr : field INC_or_DEC",
- "p_expr : INC_or_DEC field",
- "lvalue : ID",
- "arglist :",
- "arglist : args",
- "args : expr",
- "args : args COMMA expr",
- "builtin : BUILTIN mark LPAREN arglist RPAREN",
- "builtin : LENGTH",
- "mark :",
- "statement : print mark pr_args pr_direction separator",
- "print : PRINT",
- "print : PRINTF",
- "pr_args : arglist",
- "pr_args : LPAREN arg2 RPAREN",
- "pr_args : LPAREN RPAREN",
- "arg2 : expr COMMA expr",
- "arg2 : arg2 COMMA expr",
- "pr_direction :",
- "pr_direction : IO_OUT expr",
- "if_front : IF LPAREN expr RPAREN",
- "statement : if_front statement",
- "else : ELSE",
- "statement : if_front statement else statement",
- "do : DO",
- "statement : do statement WHILE LPAREN expr RPAREN separator",
- "while_front : WHILE LPAREN expr RPAREN",
- "statement : while_front statement",
- "statement : for1 for2 for3 statement",
- "for1 : FOR LPAREN SEMI_COLON",
- "for1 : FOR LPAREN expr SEMI_COLON",
- "for2 : SEMI_COLON",
- "for2 : expr SEMI_COLON",
- "for3 : RPAREN",
- "for3 : expr RPAREN",
- "expr : expr IN ID",
- "expr : LPAREN arg2 RPAREN IN ID",
- "lvalue : ID mark LBOX args RBOX",
- "p_expr : ID mark LBOX args RBOX",
- "p_expr : ID mark LBOX args RBOX INC_or_DEC",
- "statement : DELETE ID mark LBOX args RBOX separator",
- "array_loop_front : FOR LPAREN ID IN ID RPAREN",
- "statement : array_loop_front statement",
- "field : FIELD",
- "field : DOLLAR D_ID",
- "field : DOLLAR D_ID mark LBOX args RBOX",
- "field : DOLLAR p_expr",
- "field : LPAREN field RPAREN",
- "p_expr : field",
- "expr : field ASSIGN expr",
- "expr : field ADD_ASG expr",
- "expr : field SUB_ASG expr",
- "expr : field MUL_ASG expr",
- "expr : field DIV_ASG expr",
- "expr : field MOD_ASG expr",
- "expr : field POW_ASG expr",
- "p_expr : split_front split_back",
- "split_front : SPLIT LPAREN expr COMMA ID",
- "split_back : RPAREN",
- "split_back : COMMA expr RPAREN",
- "p_expr : MATCH_FUNC LPAREN expr COMMA re_arg RPAREN",
- "re_arg : expr",
- "statement : EXIT separator",
- "statement : EXIT expr separator",
- "return_statement : RETURN separator",
- "return_statement : RETURN expr separator",
- "p_expr : getline",
- "p_expr : getline fvalue",
- "p_expr : getline_file p_expr",
- "p_expr : p_expr PIPE GETLINE",
- "p_expr : p_expr PIPE GETLINE fvalue",
- "getline : GETLINE",
- "fvalue : lvalue",
- "fvalue : field",
- "getline_file : getline IO_IN",
- "getline_file : getline fvalue IO_IN",
- "p_expr : sub_or_gsub LPAREN re_arg COMMA expr sub_back",
- "sub_or_gsub : SUB",
- "sub_or_gsub : GSUB",
- "sub_back : RPAREN",
- "sub_back : COMMA fvalue RPAREN",
- "function_def : funct_start block",
- "funct_start : funct_head LPAREN f_arglist RPAREN",
- "funct_head : FUNCTION ID",
- "funct_head : FUNCTION FUNCT_ID",
- "f_arglist :",
- "f_arglist : f_args",
- "f_args : ID",
- "f_args : f_args COMMA ID",
- "outside_error : error",
- "p_expr : FUNCT_ID mark call_args",
- "call_args : LPAREN RPAREN",
- "call_args : ca_front ca_back",
- "ca_front : LPAREN",
- "ca_front : ca_front expr COMMA",
- "ca_front : ca_front ID COMMA",
- "ca_back : expr RPAREN",
- "ca_back : ID RPAREN",
- };
- #endif
- #ifdef YYPURE
- #undef YYGLOBAL
- #define YYLEX() yylex(&yylval)
- #else
- #define YYLEX() yylex()
- #endif
- X
- #define yyclearin (yychar=(-1))
- #define yyerrok (yyerrflag=0)
- #ifdef YYSTACKSIZE
- #ifndef YYMAXDEPTH
- #define YYMAXDEPTH YYSTACKSIZE
- #endif
- #else
- #ifdef YYMAXDEPTH
- #define YYSTACKSIZE YYMAXDEPTH
- #else
- #define YYSTACKSIZE 500
- #define YYMAXDEPTH 500
- #endif
- #endif
- int yydebug;
- #ifndef YYPURE
- YYSTYPE yylval;
- #endif
- X
- #ifdef YYGLOBAL
- int yynerrs;
- int yyerrflag;
- int yychar;
- short *yyssp;
- YYSTYPE *yyvsp;
- YYSTYPE yyval;
- short yyss[YYSTACKSIZE];
- YYSTYPE yyvs[YYSTACKSIZE];
- #endif
- #define yystacksize YYSTACKSIZE
- #line 1066 "parse.y"
- X
- /* resize the code for a user function */
- X
- static void resize_fblock( fbp, code_ptr )
- X FBLOCK *fbp ;
- X INST *code_ptr ;
- { int size ;
- X
- X code1(_RET0) ; /* make sure there is always a return statement */
- X
- #if !SM_DOS
- X if ( dump_code )
- X { code1(_HALT) ; /*stops da() */
- X add_to_fdump_list(fbp) ;
- X }
- #endif
- X
- X if ( (size = code_ptr - fbp->code) > PAGE_SZ-1 )
- X overflow("function code size", PAGE_SZ ) ;
- X
- X /* resize the code */
- X fbp->code = (INST*) zrealloc(fbp->code, PAGE_SZ*sizeof(INST),
- X size * sizeof(INST) ) ;
- X
- }
- X
- X
- /* convert FE_PUSHA to FE_PUSHI
- X or F_PUSH to F_PUSHI
- */
- X
- static void field_A2I()
- { CELL *cp ;
- X
- X if ( code_ptr[-1].op == FE_PUSHA &&
- X code_ptr[-1].ptr == (PTR) 0)
- X /* On most architectures, the two tests are the same; a good
- X compiler might eliminate one. On LM_DOS, and possibly other
- X segmented architectures, they are not */
- X { code_ptr[-1].op = FE_PUSHI ; }
- X else
- X {
- X cp = (CELL *) code_ptr[-1].ptr ;
- X
- X if ( cp == field ||
- X
- #if LM_DOS
- X SAMESEG(cp,field) &&
- #endif
- X cp > NF && cp <= LAST_PFIELD )
- X {
- X code_ptr[-2].op = _PUSHI ;
- X }
- X else if ( cp == NF )
- X { code_ptr[-2].op = NF_PUSHI ; code_ptr-- ; }
- X
- X else
- X {
- X code_ptr[-2].op = F_PUSHI ;
- X code_ptr -> op = field_addr_to_index( code_ptr[-1].ptr ) ;
- X code_ptr++ ;
- X }
- X }
- }
- X
- /* we've seen an ID in a context where it should be a VAR,
- X check that's consistent with previous usage */
- X
- static void check_var( p )
- X register SYMTAB *p ;
- {
- X switch(p->type)
- X {
- X case ST_NONE : /* new id */
- X p->type = ST_VAR ;
- X p->stval.cp = new_CELL() ;
- X p->stval.cp->type = C_NOINIT ;
- X break ;
- X
- X case ST_LOCAL_NONE :
- X p->type = ST_LOCAL_VAR ;
- X active_funct->typev[p->offset] = ST_LOCAL_VAR ;
- X break ;
- X
- X case ST_VAR :
- X case ST_LOCAL_VAR : break ;
- X
- X default :
- X type_error(p) ;
- X break ;
- X }
- }
- X
- /* we've seen an ID in a context where it should be an ARRAY,
- X check that's consistent with previous usage */
- static void check_array(p)
- X register SYMTAB *p ;
- {
- X switch(p->type)
- X {
- X case ST_NONE : /* a new array */
- X p->type = ST_ARRAY ;
- X p->stval.array = new_ARRAY() ;
- X break ;
- X
- X case ST_ARRAY :
- X case ST_LOCAL_ARRAY :
- X break ;
- X
- X case ST_LOCAL_NONE :
- X p->type = ST_LOCAL_ARRAY ;
- X active_funct->typev[p->offset] = ST_LOCAL_ARRAY ;
- X break ;
- X
- X default : type_error(p) ; break ;
- X }
- }
- X
- static void code_array(p)
- X register SYMTAB *p ;
- { if ( is_local(p) )
- X { code1(LA_PUSHA) ; code1(p->offset) ; }
- X else code2(A_PUSHA, p->stval.array) ;
- }
- X
- X
- static int current_offset()
- {
- X switch( scope )
- X {
- X case SCOPE_MAIN : return code_ptr - main_start ;
- X case SCOPE_BEGIN : return code_ptr - begin_code.start ;
- X case SCOPE_END : return code_ptr - end_code.start ;
- X case SCOPE_FUNCT : return code_ptr - active_funct->code ;
- X }
- X /* can't get here */
- X return 0 ;
- }
- X
- /* we've seen an ID as an argument to a user defined function */
- X
- static void code_call_id( p, ip )
- X register CA_REC *p ;
- X register SYMTAB *ip ;
- { static CELL dummy ;
- X
- X switch( ip->type )
- X {
- X case ST_VAR :
- X p->type = CA_EXPR ;
- X code2(_PUSHI, ip->stval.cp) ;
- X break ;
- X
- X case ST_LOCAL_VAR :
- X p->type = CA_EXPR ;
- X code1(L_PUSHI) ;
- X code1(ip->offset) ;
- X break ;
- X
- X case ST_ARRAY :
- X p->type = CA_ARRAY ;
- X code2(A_PUSHA, ip->stval.array) ;
- X break ;
- X
- X case ST_LOCAL_ARRAY :
- X p->type = CA_ARRAY ;
- X code1(LA_PUSHA) ;
- X code1(ip->offset) ;
- X break ;
- X
- X /* not enough info to code it now; it will have to
- X be patched later */
- X
- X case ST_NONE :
- X p->type = ST_NONE ;
- X p->call_offset = current_offset() ;
- X p->sym_p = ip ;
- X code2(_PUSHI, &dummy) ;
- X break ;
- X
- X case ST_LOCAL_NONE :
- X p->type = ST_LOCAL_NONE ;
- X p->call_offset = current_offset() ;
- X p->type_p = & active_funct->typev[ip->offset] ;
- X code1(L_PUSHI) ;
- X code1(ip->offset) ;
- X break ;
- X
- X
- #ifdef DEBUG
- X default :
- X bozo("code_call_id") ;
- #endif
- X
- X }
- }
- X
- /* an RE by itself was coded as _MATCH0 , change to
- X push as an expression */
- X
- static void RE_as_arg()
- { CELL *cp = ZMALLOC(CELL) ;
- X
- X code_ptr -= 2 ;
- X cp->type = C_RE ;
- X cp->ptr = code_ptr[1].ptr ;
- X code2(_PUSHC, cp) ;
- }
- X
- X
- int parse()
- { int yy = yyparse() ;
- X
- #if YYBYACC
- X extern struct yacc_mem *yacc_memp ;
- X
- X yacc_memp++ ; /* puts parser tables in mem pool */
- #endif
- X
- X if ( resolve_list ) resolve_fcalls() ;
- X return yy ;
- }
- X
- #line 1349 "y.tab.c"
- #define YYABORT goto yyabort
- #define YYACCEPT goto yyaccept
- #define YYERROR goto yyerrlab
- int
- yyparse()
- {
- X register int yyn, yystate;
- X int yym ;
- #ifdef YYPURE
- X YYSTYPE yylval ;
- #endif
- X
- #ifndef YYGLOBAL
- X int yynerrs;
- X int yyerrflag;
- X int yychar;
- X register short *yyssp;
- X register YYSTYPE *yyvsp;
- X YYSTYPE yyval;
- X short yyss[YYSTACKSIZE];
- X YYSTYPE yyvs[YYSTACKSIZE];
- #endif
- #if YYDEBUG
- X register char *yys;
- X extern char *getenv();
- X
- X if (yys = getenv("YYDEBUG"))
- X {
- X yyn = *yys;
- X if (yyn >= '0' && yyn <= '9')
- X yydebug = yyn - '0';
- X }
- #endif
- X
- X yynerrs = 0;
- X yyerrflag = 0;
- X yychar = (-1);
- X
- X yyssp = yyss;
- X yyvsp = yyvs;
- X *yyssp = yystate = 0;
- X
- yyloop:
- X if (yyn = yydefred[yystate]) goto yyreduce;
- X if (yychar < 0)
- X {
- X if ((yychar = YYLEX()) < 0) yychar = 0;
- #if YYDEBUG
- X if (yydebug)
- X {
- X yys = 0;
- X if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- X if (!yys) yys = "illegal-symbol";
- X printf("yydebug: state %d, reading %d (%s)\n", yystate,
- X yychar, yys);
- X }
- #endif
- X }
- X if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
- X yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- X {
- #if YYDEBUG
- X if (yydebug)
- X printf("yydebug: state %d, shifting to state %d\n",
- X yystate, yytable[yyn]);
- #endif
- X if (yyssp >= yyss + yystacksize - 1)
- X {
- X goto yyoverflow;
- X }
- X *++yyssp = yystate = yytable[yyn];
- X *++yyvsp = yylval;
- X yychar = (-1);
- X if (yyerrflag > 0) --yyerrflag;
- X goto yyloop;
- X }
- X if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
- X yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- X {
- X yyn = yytable[yyn];
- X goto yyreduce;
- X }
- X if (yyerrflag) goto yyinrecovery;
- #ifdef lint
- X goto yynewerror;
- #endif
- yynewerror:
- X yyerror("syntax error");
- #ifdef lint
- X goto yyerrlab;
- #endif
- yyerrlab:
- X ++yynerrs;
- yyinrecovery:
- X if (yyerrflag < 3)
- X {
- X yyerrflag = 3;
- X for (;;)
- X {
- X if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
- X yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
- X {
- #if YYDEBUG
- X if (yydebug)
- X printf("yydebug: state %d, error recovery shifting\
- X to state %d\n", *yyssp, yytable[yyn]);
- #endif
- X if (yyssp >= yyss + yystacksize - 1)
- X {
- X goto yyoverflow;
- X }
- X *++yyssp = yystate = yytable[yyn];
- X *++yyvsp = yylval;
- X goto yyloop;
- X }
- X else
- X {
- #if YYDEBUG
- X if (yydebug)
- X printf("yydebug: error recovery discarding state %d\n",
- X *yyssp);
- #endif
- X if (yyssp <= yyss) goto yyabort;
- X --yyssp;
- X --yyvsp;
- X }
- X }
- X }
- X else
- X {
- X if (yychar == 0) goto yyabort;
- #if YYDEBUG
- X if (yydebug)
- X {
- X yys = 0;
- X if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- X if (!yys) yys = "illegal-symbol";
- X printf("yydebug: state %d, error recovery discards token %d (%s)\n",
- X yystate, yychar, yys);
- X }
- #endif
- X yychar = (-1);
- X goto yyloop;
- X }
- yyreduce:
- #if YYDEBUG
- X if (yydebug)
- X printf("yydebug: state %d, reducing by rule %d (%s)\n",
- X yystate, yyn, yyrule[yyn]);
- #endif
- X yym = yylen[yyn];
- X yyval = yyvsp[1-yym];
- X switch (yyn)
- X {
- case 6:
- #line 160 "parse.y"
- { /* this do nothing action removes a vacuous warning
- X from Bison */
- X }
- break;
- case 7:
- #line 165 "parse.y"
- {
- X be_expand(&begin_code) ;
- X scope = SCOPE_BEGIN ;
- X }
- break;
- case 8:
- #line 171 "parse.y"
- { be_shrink(&begin_code) ;
- X scope = SCOPE_MAIN ;
- X }
- break;
- case 9:
- #line 176 "parse.y"
- {
- X be_expand(&end_code) ;
- X scope = SCOPE_END ;
- X }
- break;
- case 10:
- #line 182 "parse.y"
- { be_shrink(&end_code) ;
- X scope = SCOPE_MAIN ;
- X }
- break;
- case 11:
- #line 187 "parse.y"
- { code_jmp(_JZ, (INST*)0) ; }
- break;
- case 12:
- #line 190 "parse.y"
- { patch_jmp( code_ptr ) ; }
- break;
- case 13:
- #line 194 "parse.y"
- { code_push(yyvsp[-1].start, code_ptr - yyvsp[-1].start) ;
- X code_ptr = yyvsp[-1].start ;
- X code1(_RANGE) ; code1(1) ;
- X code_ptr += 3 ;
- X code_ptr += code_pop(code_ptr) ;
- X code1(_STOP) ;
- X yyvsp[-1].start[2].op = code_ptr - (yyvsp[-1].start+1) ;
- X }
- break;
- case 14:
- #line 203 "parse.y"
- { code1(_STOP) ; }
- break;
- case 15:
- #line 206 "parse.y"
- { yyvsp[-5].start[3].op = yyvsp[0].start - (yyvsp[-5].start+1) ;
- X yyvsp[-5].start[4].op = code_ptr - (yyvsp[-5].start+1) ;
- X }
- break;
- case 16:
- #line 214 "parse.y"
- { yyval.start = yyvsp[-1].start ; }
- break;
- case 17:
- #line 216 "parse.y"
- { yyval.start = code_ptr ; /* does nothing won't be executed */
- X print_flag = getline_flag = paren_cnt = 0 ;
- X yyerrok ; }
- break;
- case 19:
- #line 223 "parse.y"
- { yyval.start = code_ptr ;
- X code1(_PUSHINT) ; code1(0) ;
- X code2(_PRINT, bi_print) ;
- X }
- break;
- case 23:
- #line 235 "parse.y"
- { code1(_POP) ; }
- break;
- case 24:
- #line 237 "parse.y"
- { yyval.start = code_ptr ; }
- break;
- case 25:
- #line 239 "parse.y"
- { yyval.start = code_ptr ;
- X print_flag = getline_flag = 0 ;
- X paren_cnt = 0 ;
- X yyerrok ;
- X }
- break;
- case 26:
- #line 245 "parse.y"
- { yyval.start = code_ptr ; BC_insert('B', code_ptr+1) ;
- X code2(_JMP, 0) /* don't use code_jmp ! */ ; }
- break;
- case 27:
- #line 248 "parse.y"
- { yyval.start = code_ptr ; BC_insert('C', code_ptr+1) ;
- X code2(_JMP, 0) ; }
- break;
- case 28:
- #line 251 "parse.y"
- { if ( scope != SCOPE_FUNCT )
- X compile_error("return outside function body") ;
- X }
- break;
- case 29:
- #line 255 "parse.y"
- { if ( scope != SCOPE_MAIN )
- X compile_error( "improper use of next" ) ;
- X yyval.start = code_ptr ;
- X code1(_NEXT) ;
- X }
- break;
- case 33:
- #line 266 "parse.y"
- { code1(_ASSIGN) ; }
- break;
- case 34:
- #line 267 "parse.y"
- { code1(_ADD_ASG) ; }
- break;
- case 35:
- #line 268 "parse.y"
- { code1(_SUB_ASG) ; }
- break;
- case 36:
- #line 269 "parse.y"
- { code1(_MUL_ASG) ; }
- break;
- case 37:
- #line 270 "parse.y"
- { code1(_DIV_ASG) ; }
- break;
- case 38:
- #line 271 "parse.y"
- { code1(_MOD_ASG) ; }
- break;
- case 39:
- #line 272 "parse.y"
- { code1(_POW_ASG) ; }
- break;
- case 40:
- #line 273 "parse.y"
- { code1(_EQ) ; }
- break;
- case 41:
- #line 274 "parse.y"
- { code1(_NEQ) ; }
- break;
- case 42:
- #line 275 "parse.y"
- { code1(_LT) ; }
- break;
- case 43:
- #line 276 "parse.y"
- { code1(_LTE) ; }
- break;
- case 44:
- #line 277 "parse.y"
- { code1(_GT) ; }
- break;
- case 45:
- #line 278 "parse.y"
- { code1(_GTE) ; }
- break;
- case 46:
- #line 281 "parse.y"
- {
- X if ( yyvsp[0].start == code_ptr - 2 )
- X {
- X if ( yyvsp[0].start->op == _MATCH0 ) yyvsp[0].start->op = _MATCH1 ;
- X
- X else /* check for string */
- X if ( yyvsp[0].start->op == _PUSHS )
- X { CELL *cp = ZMALLOC(CELL) ;
- X
- X cp->type = C_STRING ;
- X cp->ptr = yyvsp[0].start[1].ptr ;
- X cast_to_RE(cp) ;
- X code_ptr -= 2 ;
- X code2(_MATCH1, cp->ptr) ;
- X ZFREE(cp) ;
- X }
- X else code1(_MATCH2) ;
- X }
- X else code1(_MATCH2) ;
- X
- X if ( !yyvsp[-1].ival ) code1(_NOT) ;
- X }
- break;
- case 47:
- #line 306 "parse.y"
- { code1(_DUP) ;
- X code_jmp(_JNZ, (INST*)0) ;
- X code1(_POP) ;
- X }
- break;
- case 48:
- #line 311 "parse.y"
- { patch_jmp(code_ptr) ; code1(_TEST) ; }
- break;
- case 49:
- #line 314 "parse.y"
- { code1(_DUP) ; code_jmp(_JZ, (INST*)0) ;
- X code1(_POP) ; }
- break;
- case 50:
- #line 317 "parse.y"
- { patch_jmp(code_ptr) ; code1(_TEST) ; }
- break;
- case 51:
- #line 319 "parse.y"
- { code_jmp(_JZ, (INST*)0) ; }
- break;
- case 52:
- #line 320 "parse.y"
- { code_jmp(_JMP, (INST*)0) ; }
- SHAR_EOF
- true || echo 'restore of Xparse.c failed'
- fi
- echo 'End of part 3'
- echo 'File Xparse.c is continued in part 4'
- echo 4 > _shar_seq_.tmp
- exit 0
-
- exit 0 # Just in case...
-